/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ships.core;

import ships.core.models.ColorModel;
import java.util.Hashtable;

/**
 *
 * @author fqhuy
 */
public class AbstractImage implements IImage {

    protected AbstractMatrix matrix;
    protected ColorModel colorModel;
    protected Hashtable properties;
    protected boolean isAlphaPremultiplied;
    
    public static final int TYPE_CUSTOM = 0;
    public static final int TYPE_INT_RGB = 1;
    public static final int TYPE_INT_ARGB = 2;
    public static final int TYPE_INT_ARGB_PRE = 3;
    public static final int TYPE_INT_BGR = 4;
    public static final int TYPE_3BYTE_BGR = 5;
    public static final int TYPE_4BYTE_ABGR = 6;
    public static final int TYPE_4BYTE_ABGR_PRE = 7;
    public static final int TYPE_USHORT_565_RGB = 8;
    public static final int TYPE_USHORT_555_RGB = 9;
    public static final int TYPE_BYTE_GRAY = 10;
    public static final int TYPE_USHORT_GRAY = 11;
    public static final int TYPE_BYTE_BINARY = 12;
    public static final int TYPE_BYTE_INDEXED = 13;

    
    protected static final int DCM_RED_MASK = 0x00ff0000;
    protected static final int DCM_GREEN_MASK = 0x0000ff00;
    protected static final int DCM_BLUE_MASK = 0x000000ff;
    protected static final int DCM_ALPHA_MASK = 0xff000000;
    protected static final int DCM_565_RED_MASK = 0xf800;
    protected static final int DCM_565_GRN_MASK = 0x07E0;
    protected static final int DCM_565_BLU_MASK = 0x001F;
    protected static final int DCM_555_RED_MASK = 0x7C00;
    protected static final int DCM_555_GRN_MASK = 0x03E0;
    protected static final int DCM_555_BLU_MASK = 0x001F;
    protected static final int DCM_BGR_RED_MASK = 0x0000ff;
    protected static final int DCM_BGR_GRN_MASK = 0x00ff00;
    protected static final int DCM_BGR_BLU_MASK = 0xff0000;

    public int getWidth() {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public int getHeight() {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public IMatrix getData() {
        throw new UnsupportedOperationException("Not supported yet.");
    }

    public IMatrix getData(Rectangle rect) {
        throw new UnsupportedOperationException("Not supported yet.");
    }
}
